Generally, encoding is a process that a transmitting side performs a data processing for a receiving side to restore original data despite errors caused by signal distortion, loss and the like while the transmitting side transmits data via a communication channel. And, decoding is a process that the receiving side restores the encoded transmitted data into the original data.
Recently, many attentions are paid to an encoding method using an LPDC code. The LDPC code is a linear block code having low density since most of elements of a parity check matrix H are zeros, which was proposed by Gallager in 1962. It was difficult to implement the LDPC code that is very complicated due to the technological difficulty in those days. Yet, the LDPC code was taken into re-consideration in 1995 so that its superior performance has been verified. So, many efforts are made to research and develop the LPDC code. (Reference: [1] Robert G. Gallager, “Low-Density Parity-Check Codes”, The MIT Press, Sep. 15, 1963. [2] D. J. C. Mackay, Good error-correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, IT-45, pp. 399-431 (1999))
A parity check matrix of the LDPC code is a binary matrix including ‘0’ and ‘1’. Since the number of ‘1’ of the parity check matrix of the LDPC code is very small, decoding of the parity check matrix of the LDPC is enabled through repetition decoding in case of a large matrix size. If the matrix size is very large, the parity check matrix of the LDPC code shows performance approximating a channel capacity limit of Shannon like a turbo code.
The LDPC code can be explained by a parity check matrix H of (n−k)×n dimension. And, a generator matrix G corresponding to the parity check matrix H can be found by Formula 1.H·G=0  [Formula 1]
In an encoding/decoding method using an LDPC code, a transmitting side encodes input data by Formula 2 using the generator matrix G having a relation of Formula 1 with the parity check matrix H.
[Formula 2]
c=G·u, where ‘c’ is a codeword and ‘U’ is a data frame.
Yet, an input data encoding method using the parity check matrix instead of the generator matrix G is generally used nowadays. Hence, as explained in the above explanation, the parity check matrix H is the most important factor in the encoding/decoding method using the LDPC code.
Meanwhile, in the latest mobile communication system or wireless Internet system, a variable code rate scheme, which encodes input source data by varying a code rate according to a channel status or a data volume to be transmitted, is generally employed. And, a code rate ‘r’ can be expressed by Formula 3.
[Formula 3]
r=k/3, where ‘k’ is a source data length and ‘n’ is an encoded data (codeword) length.
The encoded data (codeword) consists of systematic bits and parity bits. The systematic bits means source data prior to encoding and the parity bits mean a portion added to a rear part of the systematic bits. The ‘n’ is a total value of the systematic bits number and the parity bits number. To raise the code rate, the parity bits can be reduced. To lower the code rate, the systematic bits can be reduced.
The parity bits reducing scheme is generally used in case of a good channel status. Yet, the systematic bits reducing scheme is used in case of a poor channel status.
However, although various schemes for the variable code rate applications to the encoding/decoding method using the turbo or convolution code have been proposed, a method of applying the variable code rate to the encoding/decoding method using the LDPC code is not known yet.